package com.altekis.kanbankaze.shared;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
 * Demo data
 * @author lordkhizir
 *
 */
public class DemoData {
	/**
	 * Return fake user stories, to be used in case no real data is available
	 * @return
	 */
	final public static List<UserStory> getDemoUserStories() {
		final List<UserStory> demoList = new LinkedList<UserStory>();
		demoList.add(new UserStory(1L, //board
				"As an administrator, I want to be able to search for a specific user account on its key fields", // description
				1L, //id
				"Account search", // name
				1 // priority
				));
		demoList.add(new UserStory(1L, //board
				"As an administrator, I want to be able to edit a previously selected user account", // description
				2L, //id
				"Account edition", // name
				2 // priority
				));
		demoList.add(new UserStory(1L, //board
				"As an administrator, I want to be able to lock/unlock edit a previously selected user account", // description
				3L, //id
				"Account lock/unlock", // name
				3 // priority
				));
		return demoList;
	}

	/**
	 * Return fake tasks, to be used in case no real data is available
	 * @return
	 */
	final public static List<Task> getDemoTasks() {
		final List<Task> demoList = new LinkedList<Task>();

		demoList.add(new Task("red", //Color
				"Account search", // name
				"As an administrator, I want to be able to search for a specific user account on its key fields", // description
				"Johnny", // owner
				1, // stage
				1 // priority
				));
		demoList.add(new Task("blue", //Color
				"Account edition", // name
				"As an administrator, I want to be able to edit a previously selected user account", // description
				"Susan", // owner
				0, // stage
				2 // priority
				));
		demoList.add(new Task("green", //Color
				"Account lock/unlock", // name
				"As an administrator, I want to be able to lock/unlock edit a previously selected user account", // description
				"Susan", // owner
				0, // stage
				3 // priority
				));		
		return demoList;
	}

	/**
	 * Return fake stages, to be used in case no real data is available
	 * @return
	 */
	final public static List<Stage> getDemoStages() {
		final List<Stage> demoList = new ArrayList<Stage>();
		int stageIndex = 0;
		demoList.add(new Stage("Backlog", "Features waiting to enter a Sprint cycle", true, stageIndex++));
		demoList.add(new Stage("Product Management", "Features beign defined", false, stageIndex++));
		demoList.add(new Stage("UX - Ready", "Tasks waiting to be processed by UX", true, stageIndex++));
		demoList.add(new Stage("UX - Working", "Tasks being processed by UX right now", false, stageIndex++));
		demoList.add(new Stage("DEV - Ready", "Tasks waiting to be processed by Development", true, stageIndex++));
		demoList.add(new Stage("DEV - Working", "Tasks being processed by Development right now", false, stageIndex++));
		demoList.add(new Stage("QA - Ready", "Tasks waiting to be processed by QA", true, stageIndex++));
		demoList.add(new Stage("QA - Working", "Tasks being processed by QA right now", false, stageIndex++));
		demoList.add(new Stage("Done", "Tasks completed", true, stageIndex++));

		return demoList;
	}
}